using System.Collections.Generic;
using Xfinity.Entities;

namespace Xfinity.AI.States
{
    public class Behaviour
    {
        private Dictionary<Character,float> disposition = new Dictionary<Character,float>();

        /// <summary>
        /// How the agent feels about other characters.
        /// </summary>
        public Dictionary<Character,float> Disposition
        {
            get { return disposition; }
        }

        private float comfort;
        /// <summary>
        /// How comfortable the agent's surroundings make it.
        /// </summary>
        public float Comfort
        {
            get { return comfort; }
            set { comfort = value; }
        }
        
        /// <summary>
        /// Set the character's disposition to another character.
        /// </summary>
        /// <param name="character">The character which the disposition is relevant to.</param>
        /// <param name="disposition">The disposition towards the character. Positive values indicate liking the character; negative values indicate dislike.</param>
        public void SetCharacterDisposition(Character character, float disposition)
        {
            this.disposition.Add(character, disposition);
        }
    }
}
